package cn.com.pxto.service;

import java.util.List;

import cn.com.pxto.commons.SearchParam;
import cn.com.pxto.commons.pagesupport.PageInfo;
import cn.com.pxto.model.UserObjectRule;

public interface RuleManager {
	/**
	 * ����û��Ĺ����б�
	 * @param userID �û�id
	 * @return List �����б�
	 */
    public List getUserFunctions(Integer userID);
    
    /**
     *  �>�src��objectType����UserObjectRule�������Է�ҳ��
     * @param src
     * @return
     */
    public List getRulesBySrc(String src,Integer objectType,Integer srcType);
    
    /**
	 * �>�src��objectType����UserObjectRule�������
	 * @param src
	 * @return
	 */
	public List getRules(String src,Integer objectType,Integer srcType,PageInfo pageInfo);
    
    /**
	 * @param src
	 * @param objectType
	 * @param srcType
	 * @param object
	 * @return
	 */
	public List getRulesBySrcAndObject(Integer src,Integer objectType,Integer srcType,Integer object);
    
    /**
     * add or update the rule
     * @param rule
     */
    public void saveRule(UserObjectRule rule);
    
    /**
     * remove the rule by id
     * @param id
     */
    public void deleteRule(Integer id);
    
    /**
	 * �>�src����UserObjectRule
	 * @param src
	 * @return
	 */
	public List getRulesBySrc(Integer src);
	
	/**
	 * ����Dic
	 * @param params
	 * @param pageInfo
	 * @return
	 */
	public List getRule(SearchParam[] params);
}
